home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 November / Chip Kasım 2000.iso / prog / basic / 09 / AXA2.CAB / DAJAVA.CAB / com / ms / dxmedia / ViewEventCB.class (.txt) < prev   
Encoding:
Java Class File  |  1997-10-14  |  5.7 KB  |  353 lines

  1. package com.ms.dxmedia;
  2.  
  3. import com.ms.com.ComException;
  4. import com.ms.com.ComFailException;
  5. import com.ms.dxmedia.rawcom.IDAView;
  6. import java.awt.Component;
  7. import java.awt.Graphics;
  8. import java.awt.Rectangle;
  9. import java.awt.event.ComponentEvent;
  10. import java.awt.event.ComponentListener;
  11. import java.awt.event.FocusEvent;
  12. import java.awt.event.FocusListener;
  13. import java.awt.event.InputEvent;
  14. import java.awt.event.KeyEvent;
  15. import java.awt.event.KeyListener;
  16. import java.awt.event.MouseEvent;
  17. import java.awt.event.MouseListener;
  18. import java.awt.event.MouseMotionListener;
  19.  
  20. class ViewEventCB implements ComponentListener, MouseMotionListener, MouseListener, KeyListener, FocusListener {
  21.    private static final byte SHIFT_MASK = 1;
  22.    private static final byte CTRL_MASK = 2;
  23.    private static final byte ALT_MASK = 4;
  24.    private static final byte META_MASK = 8;
  25.    private static final byte MOUSE_BUTTON_LEFT = 0;
  26.    private static final byte MOUSE_BUTTON_RIGHT = 1;
  27.    private static final byte MOUSE_BUTTON_MIDDLE = 2;
  28.    private static final byte MOUSE_BUTTON_INVALID = -1;
  29.    private static final boolean STATE_DOWN = true;
  30.    private static final boolean STATE_UP = false;
  31.    // $FF: renamed from: F1 int
  32.    private static final int field_0 = 65648;
  33.    // $FF: renamed from: F2 int
  34.    private static final int field_1 = 65649;
  35.    // $FF: renamed from: F3 int
  36.    private static final int field_2 = 65650;
  37.    // $FF: renamed from: F4 int
  38.    private static final int field_3 = 65651;
  39.    // $FF: renamed from: F5 int
  40.    private static final int field_4 = 65652;
  41.    // $FF: renamed from: F6 int
  42.    private static final int field_5 = 65653;
  43.    // $FF: renamed from: F7 int
  44.    private static final int field_6 = 65654;
  45.    // $FF: renamed from: F8 int
  46.    private static final int field_7 = 65655;
  47.    // $FF: renamed from: F9 int
  48.    private static final int field_8 = 65656;
  49.    private static final int F10 = 65657;
  50.    private static final int F11 = 65658;
  51.    private static final int F12 = 65659;
  52.    private static final int PGUP = 65569;
  53.    private static final int PGDN = 65570;
  54.    private static final int END = 65571;
  55.    private static final int HOME = 65572;
  56.    private static final int LEFT = 65573;
  57.    // $FF: renamed from: UP int
  58.    private static final int field_9 = 65574;
  59.    private static final int RIGHT = 65575;
  60.    private static final int DOWN = 65576;
  61.    private IDAView _view;
  62.    private long _startTime;
  63.    private DXMCanvasBase _viewer;
  64.    private int _lastKey;
  65.    private int _lastCode;
  66.  
  67.    public void componentShown(ComponentEvent var1) {
  68.    }
  69.  
  70.    public void componentResized(ComponentEvent var1) {
  71.       Rectangle var2 = var1.getComponent().getBounds();
  72.  
  73.       try {
  74.          this._view.SetViewport(0, 0, var2.width, var2.height);
  75.       } catch (ComFailException var5) {
  76.          throw this.handleError(var5);
  77.       }
  78.    }
  79.  
  80.    public void mouseDragged(MouseEvent var1) {
  81.       try {
  82.          this._view.OnMouseMove(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), var1.getX(), var1.getY(), GetMods(var1, true));
  83.       } catch (ComFailException var4) {
  84.          throw this.handleError(var4);
  85.       }
  86.    }
  87.  
  88.    public void mouseClicked(MouseEvent var1) {
  89.    }
  90.  
  91.    public void mousePressed(MouseEvent var1) {
  92.       try {
  93.          byte var2 = GetMouseButton(var1);
  94.          if (var2 != -1) {
  95.             this._view.OnMouseButton(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), var1.getX(), var1.getY(), var2, true, GetMods(var1, true));
  96.          }
  97.  
  98.       } catch (ComFailException var4) {
  99.          throw this.handleError(var4);
  100.       }
  101.    }
  102.  
  103.    public void componentHidden(ComponentEvent var1) {
  104.    }
  105.  
  106.    public void mouseMoved(MouseEvent var1) {
  107.       try {
  108.          this._view.OnMouseMove(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), var1.getX(), var1.getY(), GetMods(var1, true));
  109.       } catch (ComFailException var4) {
  110.          throw this.handleError(var4);
  111.       }
  112.    }
  113.  
  114.    public void mouseReleased(MouseEvent var1) {
  115.       try {
  116.          byte var2 = GetMouseButton(var1);
  117.          if (var2 != -1) {
  118.             this._view.OnMouseButton(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), var1.getX(), var1.getY(), var2, false, GetMods(var1, true));
  119.          }
  120.  
  121.       } catch (ComFailException var4) {
  122.          throw this.handleError(var4);
  123.       }
  124.    }
  125.  
  126.    public void keyTyped(KeyEvent var1) {
  127.    }
  128.  
  129.    public void keyPressed(KeyEvent var1) {
  130.       try {
  131.          this._view.OnKey(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), this.convertKey(var1), true, GetMods(var1, false));
  132.       } catch (ComFailException var4) {
  133.          throw this.handleError(var4);
  134.       }
  135.    }
  136.  
  137.    public ViewEventCB(IDAView var1, DXMCanvasBase var2, Component var3, long var4) {
  138.       this._view = var1;
  139.       this._viewer = var2;
  140.       this._startTime = var4;
  141.       var3.addComponentListener(this);
  142.       var3.addMouseMotionListener(this);
  143.       var3.addMouseListener(this);
  144.       var3.addKeyListener(this);
  145.       var3.addFocusListener(this);
  146.    }
  147.  
  148.    protected double SystemTimeToGlobalTime(long var1) {
  149.       return (double)(var1 - this._startTime) / (double)1000.0F;
  150.    }
  151.  
  152.    public void RePaint(Graphics var1) {
  153.       try {
  154.          Rectangle var2 = var1.getClipBounds();
  155.          this._view.RePaint(var2.x, var2.y, var2.width, var2.height);
  156.       } catch (ComFailException var4) {
  157.          throw this.handleError(var4);
  158.       }
  159.    }
  160.  
  161.    private static int convertKeyCode(int var0) {
  162.       switch (var0) {
  163.          case 33:
  164.             return 65569;
  165.          case 34:
  166.             return 65570;
  167.          case 35:
  168.             return 65571;
  169.          case 36:
  170.             return 65572;
  171.          case 37:
  172.             return 65573;
  173.          case 38:
  174.             return 65574;
  175.          case 39:
  176.             return 65575;
  177.          case 40:
  178.             return 65576;
  179.          case 112:
  180.             return 65648;
  181.          case 113:
  182.             return 65649;
  183.          case 114:
  184.             return 65650;
  185.          case 115:
  186.             return 65651;
  187.          case 116:
  188.             return 65652;
  189.          case 117:
  190.             return 65653;
  191.          case 118:
  192.             return 65654;
  193.          case 119:
  194.             return 65655;
  195.          case 120:
  196.             return 65656;
  197.          case 121:
  198.             return 65657;
  199.          case 122:
  200.             return 65658;
  201.          case 123:
  202.             return 65659;
  203.          default:
  204.             return 0;
  205.       }
  206.    }
  207.  
  208.    private static byte GetMouseButton(MouseEvent var0) {
  209.       int var1 = ((InputEvent)var0).getModifiers();
  210.       if ((var1 & 16) != 0) {
  211.          return 0;
  212.       } else if ((var1 & 8) != 0) {
  213.          return 2;
  214.       } else {
  215.          return (byte)((var1 & 4) != 0 ? 1 : 0);
  216.       }
  217.    }
  218.  
  219.    private int convertKey(KeyEvent var1) {
  220.       int var2 = var1.getKeyCode();
  221.       int var3 = var1.getKeyChar();
  222.       if (var3 == this._lastKey && var2 != this._lastCode) {
  223.          var3 = 0;
  224.       } else {
  225.          this._lastKey = var3;
  226.          this._lastCode = var2;
  227.       }
  228.  
  229.       if (var3 == 0) {
  230.          var3 = convertKeyCode(var2);
  231.       }
  232.  
  233.       return var3;
  234.    }
  235.  
  236.    protected static int JavaToDXMKey(int var0) {
  237.       int var1 = convertActionKey(var0);
  238.       if (var1 == 0) {
  239.          var1 = var0;
  240.       }
  241.  
  242.       return var1;
  243.    }
  244.  
  245.    private static byte GetMods(InputEvent var0, boolean var1) {
  246.       byte var2 = 0;
  247.       if (var0.isShiftDown()) {
  248.          var2 = (byte)(var2 | 1);
  249.       }
  250.  
  251.       if (var0.isControlDown()) {
  252.          var2 = (byte)(var2 | 2);
  253.       }
  254.  
  255.       if (!var1) {
  256.          if (var0.isAltDown()) {
  257.             var2 = (byte)(var2 | 4);
  258.          }
  259.  
  260.          if (var0.isMetaDown()) {
  261.             var2 = (byte)(var2 | 8);
  262.          }
  263.       }
  264.  
  265.       return var2;
  266.    }
  267.  
  268.    public void focusLost(FocusEvent var1) {
  269.       try {
  270.          this._view.OnFocus(false);
  271.       } catch (ComFailException var4) {
  272.          throw this.handleError(var4);
  273.       }
  274.    }
  275.  
  276.    public void mouseEntered(MouseEvent var1) {
  277.    }
  278.  
  279.    public void mouseExited(MouseEvent var1) {
  280.    }
  281.  
  282.    public void keyReleased(KeyEvent var1) {
  283.       try {
  284.          this._view.OnKey(this.SystemTimeToGlobalTime(((InputEvent)var1).getWhen()), this.convertKey(var1), false, GetMods(var1, false));
  285.       } catch (ComFailException var4) {
  286.          throw this.handleError(var4);
  287.       }
  288.    }
  289.  
  290.    private static int convertActionKey(int var0) {
  291.       switch (var0) {
  292.          case 1000:
  293.             return 65572;
  294.          case 1001:
  295.             return 65571;
  296.          case 1002:
  297.             return 65569;
  298.          case 1003:
  299.             return 65570;
  300.          case 1004:
  301.             return 65574;
  302.          case 1005:
  303.             return 65576;
  304.          case 1006:
  305.             return 65573;
  306.          case 1007:
  307.             return 65575;
  308.          case 1008:
  309.             return 65648;
  310.          case 1009:
  311.             return 65649;
  312.          case 1010:
  313.             return 65650;
  314.          case 1011:
  315.             return 65651;
  316.          case 1012:
  317.             return 65652;
  318.          case 1013:
  319.             return 65653;
  320.          case 1014:
  321.             return 65654;
  322.          case 1015:
  323.             return 65655;
  324.          case 1016:
  325.             return 65656;
  326.          case 1017:
  327.             return 65657;
  328.          case 1018:
  329.             return 65658;
  330.          case 1019:
  331.             return 65659;
  332.          default:
  333.             return 0;
  334.       }
  335.    }
  336.  
  337.    public void componentMoved(ComponentEvent var1) {
  338.    }
  339.  
  340.    public void focusGained(FocusEvent var1) {
  341.       try {
  342.          this._view.OnFocus(true);
  343.       } catch (ComFailException var4) {
  344.          throw this.handleError(var4);
  345.       }
  346.    }
  347.  
  348.    private DXMException handleError(ComFailException var1) throws DXMException {
  349.       this._viewer.getErrorAndWarningReceiver().handleError(((ComException)var1).getHResult(), ((Throwable)var1).getMessage(), this._viewer);
  350.       return new DXMException(var1);
  351.    }
  352. }
  353.